package com.tjetc.ioc.config;

import com.tjetc.ioc.entity.User;
import org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.*;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * @author gaoyongxiang
 * @version v1.0
 * @date 2025/9/2
 */
// 这个注解的作用：该类是一个配置类 相当于我们的xml配置
@Configuration
// 配置扫描包 basePackages 指定扫描路径
@ComponentScan(basePackages = "com.tjetc")
// 导入其他的配置类
@Import({MyBatisConfig.class, JdbcConfig.class})
// 读取配置文件
@PropertySource({"classpath:jdbc.properties"})
// 启动AOP
//@EnableAspectJAutoProxy
// 启动事务管理器
@EnableTransactionManagement
public class AppConfig {
//    @Bean: 一般用来配置外部bean对象


    // 1.以方法的形式注入bean
    // 2.注入的bean默认的名称是方法名 返回值就是你要注入的类型
    @Bean
    public User user(){
        return new User();
    }


    // 通过Value 获取配置文件中的内容
    @Value("${username}")
    private String username;
}